import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Primer mundo del juego
 * 
 * @author Luis Guajardo Olvera
 * @author Daniel Romero Martí
 */
public class Tierra extends Inicio
{

    private StarFox nave;
    private int creador;
    private boolean iniciador;
    private long startTime;
    private long currentTime;
    private int durationMillis;
    private int durationSecs;

    /**
     * Constructor for objects of class Space.
     * 
     */
    public Tierra()
    {    
        // Create a new world with 600x400 cells with a cell size of 1x1 pixels.
        super(); 
        nave = new StarFox();
        setPaintOrder(StarFox.class);
        creador=0;
        iniciador=false;
        prepare();
    }
    
    /**
     * Método de actua
     */
    public void act()
    { 
        if(!iniciador)
        {
            startTime = System.currentTimeMillis();
            iniciador= true;
            super.tocaCancion();
        }
        currentTime = System.currentTimeMillis();
        durationMillis = (int)(currentTime - startTime);
        durationSecs= durationMillis/1000;
        this.cargaEnemigos(durationSecs);
    }
    
    /**
     * Método que carga los enemigos predeterminados
     */
    public void cargaEnemigos(int tiempo)
    {
        if(tiempo==2 && creador==0)
        {
            Porteria porteria = new Porteria();
            addObject(porteria,298,189);
            creador++;
        }
        if(tiempo==3 && creador==1)
        {
            Torreta  torr= new Torreta();
            addObject(torr,412,156);
            creador++;
        }
        if(tiempo==5 && creador==2)
        {
           Porteria porteria = new Porteria();
            addObject(porteria,209,166);
            creador++;
        }
        if(tiempo==8 && creador==3)
        {
            Edificio ed = new Edificio();
            addObject(ed,493,113);
            Edificio ed1 = new Edificio();
            addObject(ed1,184,113);
            creador++;
        }
        if(tiempo==10 && creador==4)
        {
            Torreta  torr= new Torreta();
            addObject(torr,104,162);
            creador++;
        }
        if(tiempo==11 && creador==5)
        {
            Porteria porteria = new Porteria();
            addObject(porteria,297,157);
            creador++;
        }
        if(tiempo==14 && creador==6)
        {
            Edificio ed = new Edificio();
            addObject(ed,297,113);
            creador++;
        }
        if(tiempo==18 && creador==7)
        {
            Porteria porteria = new Porteria();
            addObject(porteria,196,157);
            creador++;  
        }
        if(tiempo==20 && creador==8)
        {
            Porteria porteria = new Porteria();
            addObject(porteria,412,157);
            Torreta  torr= new Torreta();
            addObject(torr,250,162);
            creador++;
        }
        if(tiempo==22 && creador==9)
        {
            Porteria porteria = new Porteria();
            addObject(porteria,412,157);
             Edificio ed = new Edificio();
            addObject(ed,297,113);
            creador++;
        }
        if(tiempo==26 && creador==10)
        {
           Porteria porteria = new Porteria();
            addObject(porteria,412,157);
           Edificio ed = new Edificio();
            addObject(ed,189,113);
           Edificio ed1 = new Edificio();
            addObject(ed1,315,113);
            creador++;
        }
        if(tiempo==30 && creador==11)
        {
            Porteria porteria = new Porteria();
            addObject(porteria,259,157);  
            creador++;
        }
        if(tiempo==33 && creador==12)
        {
            StageClear etapa = new StageClear();
            etapa.setImage("stage1.png");
            addObject(etapa,304,69);
            creador++;
        }
        if(tiempo==35 && creador==13)
        {
            super.detieneCancion();
            super.eligeMundo("Space",nave.regresaPuntos());
        }
    }

    /**
     * Prepare the world for the start of the program. That is: create the initial
     * objects and add them to the world.
     */
    private void prepare()
    {
        addObject(nave, 303, 224);
        
        Punto punto1 = new Punto();
        addObject(punto1,127,186);
        Punto punto2 = new Punto();
        addObject(punto2,236,186);
        Punto punto3 = new Punto();
        addObject(punto3,353,186);
        Punto punto4 = new Punto();
        addObject(punto4,470,186);
        
        Punto punto5 = new Punto();
        addObject(punto5,83,229);
        Punto punto6 = new Punto();
        addObject(punto6,214,229);
        Punto punto7 = new Punto();
        addObject(punto7,375,229);
        Punto punto8 = new Punto();
        addObject(punto8,513,229);
        
        Punto punto9 = new Punto();
        addObject(punto9,25,289);
        Punto punto10 = new Punto();
        addObject(punto10,185,289);
        Punto punto11 = new Punto();
        addObject(punto11,404,289);
        Punto punto12 = new Punto();
        addObject(punto12,571,289);
        
         Punto punto13 = new Punto();
        addObject(punto13,-41,356);
        Punto punto14 = new Punto();
        addObject(punto14,152,356);
        Punto punto15 = new Punto();
        addObject(punto15,437,356);
        Punto punto16 = new Punto();
        addObject(punto16,637,356);
    }
}
